1. Field of the Invention
The present invention relates to a packet transfer apparatus, a transfer information management method used therefor and a transfer information search method thereof, in particular, to QoS (Quality of Service) assurance in IP (Internet Protocol) packet transfer.
2. Description of the Related Art
Until now, as for IP packet transfer, a Best Effort (BE) transfer not assuring a communication transmission zone available to a user during congestion of a network is general. As for the IP packet transfer assuring the communication transmission zone during congestion of the network, however, it is discussed how to give QoS assurance thereof when providing the QoS having transmission delay, fluctuation, minimum guaranteed speed, a peak value and so on as parameters.
The factors of this QoS technology can be largely divided into the three of “Classify” for identifying the flow/class of a packet based on packet information, “Policing” for performing admission control of the packet identified by the “Classify” of the flow, and “Forwarding” for determining how to transfer the packet identified by the “Classify.”
The “Classify” is a high-speed search based on a plurality of pieces of information (keys), the “Policing” is a determinant of admission control [forced disposal, inflow rate measurement, CC (Central Control Equipment) activity ratio measurement and soon], and the “Forwarding” is a cuing algorithm, load-balancing, a high-speed alternative and so on.
As for the above “Classify,” there is a flow identification search method in IP packet transfer. This flow identification search method uses a memory capable of high-speed search called a CAM (Content-Addressable Memory) 12 as shown in FIG. 16.
A search pattern entry (hereafter, referred to as the entry) that is hit is written to the CAM 12 in advance, and if the IP packet arrives, a search process circuit 11 inputs that search information to the CAM 12. If the search process circuit 11 obtains a registration position (address information) of the entry that was hit by a search of the CAM 12 with that search information, it reads action solution information from the entry of the action solution memory 13 based on that registration position so as to solve packet action based on that action solution information.
Here, as a source IP address, a destination IP address, DSPC, TCP (Transmission Control Protocol)/UDP (User Datagram Protocol) and so on are registered in registration of search keys with CAM 12, the source IP address, a destination IP address, DSPC, TCP/UDP and so on are also given as packet search information.
In hardware, the above series of operations solve packet transfer information. What is important here is the above registration of search keys with the CAM 12 and a search process for the CAM 12. As the CAM 12 is searched from a high order entry to adopt a first hit entry according to its limitation in the above series of operations, registration order of entries is very important. Accordingly, if the CAM 12 is to be searched once, it is necessary to write the entries of important functions as high order entries.
The current hardware functionally performs two searches (“a search for a QoS flow entry” and “a search for a routing entry”) in the search process for the CAM 12, and the registration of the search keys is performed by software. A difference between the two searches is that “the search for a QoS flow entry” is to search with a plurality of pieces of key information (the source IP address and the destination IP address, for instance) whereas “the search for a routing entry” is to search only with the destination IP address.
In addition, a functional difference between the two searches is that “the search for a QoS flow entry” is intended to solve QoS information of a matching packet whereas “the search for a routing entry” is intended to solve a destination (output destination).
As for the above-mentioned technology in the past, the CAM is used in order to implement a high-speed search in the “Classify” and the entries to be registered with the CAM are very important to the registration order, and another important point is how efficiently the process can be executed in updating the entries. As for the current entry management, control of the registration order is complicated and limited in many ways, and an efficient update method of the entries is not implemented yet.
While forced disposal (filtering) and inflow rate checks (disposal, class change) are currently performed in the “Policing,” control according to a system state (determination of admission control by a CC activity ratio and so on) is not performed. In case of considering an IP-Switch for a carrier that is seriously influenced by a system down, such a function seems to be necessary.
As for the “Forwarding,” it is required to update a plurality of points in the Forwarding information update process, and there is a problem in processing ability. In addition, in an action determination method depending on an application such as output line determination, an output line and other actions are directly determined from the “Classify,” so that it is not a configuration to flexibly support an output line state and the application.
In addition, while the QoS technology gives an image of a matter related to transfer, it is also an important factor in reality to collect packet statistical information transferred by the QoS technology and let a user know exact information on whether the QoS that is set is assured.
That is, in packet filtering wherein it is determined whether to permit or deny the packet matching with the entry, there is a first problem, as it is the same search as a QoS transfer entry search, that the setting becomes very complicated or limitation arises to the function due to another QoS transfer entry in the case where a certain entry is to be permitted. Moreover, there is a second problem, as it is a precondition in the entry management to register the packet to be transferred without fail, that an arbitrary packet accounting function cannot be provided.
Here, the above problem will be described by referring to FIG. 17. In the case of the first problem, if a maintainer is to permit a source IP address “10.40.*.*” and abandon a source IP address “10.*.*.*,” that function can be provided by setting a logical image as shown in FIG. 17A.
However, if it requires a setting of the QoS transfer to the packets of the source IP addresses “10.40.22.*” and “10.42.68.*,” it must be set as shown in FIG. 17B in order to keep the above entry function effective.
In addition, if the setting of abandoning a source IP address “10.*.*.*” is deleted thereafter, a rewrite of an entry registration position as shown in FIG. 17C arises in order to keep each entry effective.
In case of managing several tens of thousands of entries of such cases, increase in update time of entry rewriting is caused in addition to complicatedness of management. Accordingly, it is difficult in reality to perform the search of a filter function and the search of the QoS transfer concurrently.
On the other hand, in the case of the second problem, the maintainer can only monitor statistical information of the entries currently registered with the CAM when monitoring traffic. For instance, in the case where the entries as shown in FIG. 17D are currently registered, if the maintainer wants to know the statistical information of the source IP address “10.40. *. *,” the information is available by totaling the counter values added to the entries.
When the entries as shown in FIG. 17E are set in the case where the maintainer further wants to know the statistical information of the source IP address “10.40.22.4,” however, transfer information must also be set in order to keep the original entries effective, even though the entries are only intended to give the counter information.
If the second entry (the entry of the source IP address “10.40.22.*”) is deleted in this state, the transfer information of the first entry only for the purpose of an account must also be updated. In the case of several tens of thousands of entries, it is very difficult in reality to execute these processes as with the above first problem.